//package work.rightAnswer;
//
//import java.util.ArrayList;
//import java.util.Arrays;
//import java.util.List;
//
//class Solution_15 {
//    public List<List<Integer>> threeSum(int[] nums) {
//        List<List<Integer>> list = new ArrayList<>();
//        Arrays.sort(nums);
//
//        for (int i = 0; i < nums.length; i++) {
//            if(nums[i]>0){
//                return list;
//            }
//
//            //去重
//            if(i>0&&nums[i]==nums[i-1]){
//                continue;
//            }
//
//            int left = i+1;
//            int right = nums.length-1;
//            while (left<right){
//                int sum = nums[left]+nums[right]+nums[i];
//                if(sum>0){
//                    right--;
//                } else if (sum<0) {
//                    left++;
//                }else {
//                   list.add(Arrays.asList(nums[i],nums[left],nums[right]));
//
//                    while (left<right&&nums[left]==nums[left+1])left++;
//                    while (left<right&&nums[right]==nums[right-1])right--;
//                    left++;
//                    right--;
//                }
//            }
//        }
//        return list;
//    }
//}